libxl: fix memory leak in libxl_name_to_poolid
authorJuergen Gross <juergen.gross@ts.fujitsu.com>
Thu, 5 Aug 2010 10:33:13 +0000 (11:33 +0100)
committerJuergen Gross <juergen.gross@ts.fujitsu.com>
Thu, 5 Aug 2010 10:33:13 +0000 (11:33 +0100)
Signed-off-by: Juergen Gross <juergen.gross@ts.fujitsu.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
tools/libxl/libxl_utils.c

index 8a1fa5af751f32dc5bb2126800ab689ba7db0cfe..f6021c3147159c3fbf5d9e61593a8cf2566338a4 100644 (file)
@@ -101,6 +101,7 @@ int libxl_name_to_poolid(libxl_ctx *ctx, const char *name,
     int i, nb_pools;
     char *poolname;
     libxl_poolinfo *poolinfo;
+    int ret = -1;
 
     poolinfo = libxl_list_pool(ctx, &nb_pools);
     if (!poolinfo)
@@ -112,10 +113,12 @@ int libxl_name_to_poolid(libxl_ctx *ctx, const char *name,
             continue;
         if (strcmp(poolname, name) == 0) {
             *poolid = poolinfo[i].poolid;
-            return 0;
+            ret = 0;
+            break;
         }
     }
-    return -1;
+    free(poolinfo);
+    return ret;
 }
 
 int libxl_get_stubdom_id(libxl_ctx *ctx, int guest_domid)